package com.yj.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yj.Result.ResponseResult;
import com.yj.adActivity.AdActivity;
import com.yj.mapper.ActivityMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Slf4j
@Service
public class ActivityServiceImpl implements ActivityService {
    @Autowired
    private ActivityMapper activityMapper;

    //轮播图列表
    @Override
    public ResponseResult swiperList() {
        LambdaQueryWrapper<AdActivity> qw = new LambdaQueryWrapper<>();
        qw.select(AdActivity::getImgUrl);
        List<AdActivity> adActivities = activityMapper.selectList(qw);

        // 用于保存图片url的集合
        List<String> imgUrls = new ArrayList<>();
        for (AdActivity adActivity : adActivities) {
            imgUrls.add(adActivity.getImgUrl());// 将每个图片URL存入集合
        }

        // 返回结果给前端，封装在Map中
        Map<String, Object> map = new HashMap<>();
        map.put("images", imgUrls);  // 使用 "images" 来存储图片列表
        //log.info("轮播图" + map);

        return ResponseResult.okResult(map);  // 假设你有一个成功的响应工具类
    }

    //活动列表
    @Override
    public ResponseResult allActiveList(Map<String, Object> requestData) {
        Integer page = (Integer) requestData.get("page");
        String key = (String) requestData.get("key");

        // 设置分页：假设每页显示 10 条记录，你可以根据需求更改每页大小，或从参数中获取
        Page<AdActivity> activityPage = new Page<>(page, 3); // 这里假设每页大小为 10

        LambdaQueryWrapper<AdActivity> lqw = new LambdaQueryWrapper<>();
        if (StringUtils.checkValNotNull(key)) {
            lqw.like(AdActivity::getTitle, key); // 如果有搜索关键字，添加模糊查询
        }

        // 执行带分页的查询
        IPage<AdActivity> resultPage = activityMapper.selectPage(activityPage, lqw);
        log.error(resultPage.getRecords()+"===");

        // 返回查询结果，这里我们只返回记录列表，你可以根据需要返回更多分页信息
        return ResponseResult.okResult(200, "活动列表", resultPage);
    }
}
